package com.ruoyi.huanghefd.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

/**
 * 作业审批单
 * @TableName work_approve_sheet
 */
@TableName(value ="work_approve_sheet")
@Data
public class WorkApproveSheet implements Serializable {
    /**
     * id
     */
    @TableField(value = "as_id")
    private String asId;

    /**
     * 作业类型,YXZY-有限空间作业审批单,GKZY-高空作业审批单
     */
    @TableField(value = "as_type")
    private String asType;

    /**
     * 审批状态
     */
    @TableField(value = "as_state")
    private String asState;

    /**
     * 作业审批单编号
     */
    @TableField(value = "as_code")
    private String asCode;

    /**
     * 部门班组id
     */
    @TableField(value = "as_dept_id")
    private String asDeptId;

    /**
     * 部门班组
     */
    @TableField(value = "as_dept")
    private String asDept;

    /**
     * 工作地点及设备名称
     */
    @TableField(value = "addr")
    private String addr;

    /**
     * 作业内容
     */
    @TableField(value = "contxt")
    private String contxt;

    /**
     * 高空作业，作业高度
     */
    @TableField(value = "height")
    private String height;

    /**
     * 作业申请开始时间
     */
    @TableField(value = "start_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startTime;

    /**
     * 作业申请结束时间
     */
    @TableField(value = "end_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;

    /**
     * 工作负责人id
     */
    @TableField(value = "principalid")
    private String principalid;

    /**
     * 工作负责人
     */
    @TableField(value = "principal")
    private String principal;

    /**
     * 监护人id
     */
    @TableField(value = "guardianid")
    private String guardianid;

    /**
     * 监护人
     */
    @TableField(value = "guardian")
    private String guardian;

    /**
     * 工作人员
     */
    @TableField(value = "member")
    private String member;

    /**
     * 工作人员人数
     */
    @TableField(value = "member_num")
    private Integer memberNum;

    /**
     * 高空作业，作业人员身体条件符合要求,0-否，1-是
     */
    @TableField(value = "ms_body")
    private String msBody;

    /**
     * 高空作业，作业人员着装符合工作要求,0-否，1-是
     */
    @TableField(value = "ms_clothes")
    private String msClothes;

    /**
     * 高空作业，作业人员佩戴合格的安全帽,0-否，1-是
     */
    @TableField(value = "ms_safety_hat")
    private String msSafetyHat;

    /**
     * 高空作业，配备数量足够的安全带，安全带经检验合格,0-否，1-是
     */
    @TableField(value = "ms_safety_belt")
    private String msSafetyBelt;

    /**
     * 高空作业，作业人员携带有工具袋及安全绳,0-否，1-是
     */
    @TableField(value = "ms_work_bag")
    private String msWorkBag;

    /**
     * 高空作业，30m以上高空作业配备通讯、联络工具,0-否，1-是
     */
    @TableField(value = "ms_msg_kit")
    private String msMsgKit;

    /**
     * 高空作业，重直分层作业中间有隔离设施,0-否，1-是
     */
    @TableField(value = "ms_isolating")
    private String msIsolating;

    /**
     * 高空作业，梯子、绳子符合安全规定,0-否，1-是
     */
    @TableField(value = "ms_rope_ladder")
    private String msRopeLadder;

    /**
     * 高空作业，现场搭设的脚手架、吊篮、防护网、围栏符合安全规定,0-否，1-是
     */
    @TableField(value = "ms_scaffold")
    private String msScaffold;

    /**
     * 高空作业，作业人员资质符合要求,0-否，1-是
     */
    @TableField(value = "ms_qualification")
    private String msQualification;

    /**
     * 危害识别：有限空间作业：A1-有毒有害气体,B1-易燃易爆气体、粉尘,C1-掩埋、淹没,D1-触电,E1-火灾,F1-高温、低温,G1-转动设备,H1-跌落、滑跌,I1-蒸汽,J1-粉尘,K1-其他;高空作业：A2-高处坠落,B2-物体打击,C2-火灾爆炸,D2-灼烫,E2-坍塌,F2-机械伤害,G2-设备损坏,H2-中毒窒息,I2-触电,J-其它
     */
    @TableField(value = "harm")
    private String harm;

    /**
     * harm是其他，这里填其他明细
     */
    @TableField(value = "harm_others")
    private String harmOthers;

    /**
     * 有限空间作业,安全措施：A-吹扫、置换、清洗,B-机械通风,C-自然通风,D-其他措施
     */
    @TableField(value = "measure")
    private String measure;

    /**
     * 有限空间作业,measure=A吹扫、置换、清洗时，这里填明细
     */
    @TableField(value = "measureA")
    private String measurea;

    /**
     * 有限空间作业measure=D其他时，这里填明细
     */
    @TableField(value = "measure_others")
    private String measureOthers;

    /**
     * 高空作业，控制措施
     */
    @TableField(value = "measure_control")
    private String measureControl;

    /**
     * 防护措施-检测仪类型
     */
    @TableField(value = "protect_detector")
    private String protectDetector;

    /**
     * 防护措施-检测仪-台数
     */
    @TableField(value = "protect_detector_num")
    private Integer protectDetectorNum;

    /**
     * 防护措施-呼吸防护用品类型
     */
    @TableField(value = "protect_breathe")
    private String protectBreathe;

    /**
     * 防护措施-呼吸防护用品-套数
     */
    @TableField(value = "protect_breathe_num")
    private Integer protectBreatheNum;

    /**
     * 防护措施-坠落防护用品类型
     */
    @TableField(value = "protect_fall")
    private String protectFall;

    /**
     * 防护措施-坠落防护用品-套数
     */
    @TableField(value = "protect_fall_num")
    private Integer protectFallNum;

    /**
     * 防护措施-安全器具类型
     */
    @TableField(value = "protect_tool")
    private String protectTool;

    /**
     * 防护措施-安全器具-件数
     */
    @TableField(value = "protect_tool_num")
    private Integer protectToolNum;

    /**
     * 防护措施-其他个人防护用品
     */
    @TableField(value = "protect_others")
    private String protectOthers;

    /**
     * 以上安全防护措施是否符合要求,0-否，1-是
     */
    @TableField(value = "measure_is")
    private String measureIs;

    /**
     * 工作负责人签字id
     */
    @TableField(value = "sign_principalid")
    private String signPrincipalid;

    /**
     * 工作负责人签字
     */
    @TableField(value = "sign_principal")
    private String signPrincipal;

    /**
     * 监护人签字id
     */
    @TableField(value = "sign_guardianid")
    private String signGuardianid;

    /**
     * 监护人签字
     */
    @TableField(value = "sign_guardian")
    private String signGuardian;

    /**
     * 工作票负责人监护人-签字时间
     */
    @TableField(value = "sign_time1")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date signTime1;

    /**
     * 部门安全专工签字id
     */
    @TableField(value = "sign_safety_engineerid")
    private String signSafetyEngineerid;

    /**
     * 部门安全专工签字
     */
    @TableField(value = "sign_safety_engineer")
    private String signSafetyEngineer;

    /**
     * 部门负责人签字id
     */
    @TableField(value = "sign_safety_principalid")
    private String signSafetyPrincipalid;

    /**
     * 部门负责人签字
     */
    @TableField(value = "sign_safety_principal")
    private String signSafetyPrincipal;

    /**
     * 部门安全专工部门负责人-签字时间
     */
    @TableField(value = "sign_time2")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date signTime2;

    /**
     * 生技部专工签字id
     */
    @TableField(value = "sign_procedural_engineerid")
    private String signProceduralEngineerid;

    /**
     * 生技部专工签字
     */
    @TableField(value = "sign_procedural_engineer")
    private String signProceduralEngineer;

    /**
     * 生技部专工负责人签字id
     */
    @TableField(value = "sign_procedural_principalid")
    private String signProceduralPrincipalid;

    /**
     * 生技部专工负责人签字
     */
    @TableField(value = "sign_procedural_principal")
    private String signProceduralPrincipal;

    /**
     * 生技部专工负责人-签字时间
     */
    @TableField(value = "sign_time3")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date signTime3;

    /**
     * 安全质量环保监察部安全专工签字id
     */
    @TableField(value = "sign_monitor_engineerid")
    private String signMonitorEngineerid;

    /**
     * 安全质量环保监察部安全专工签字
     */
    @TableField(value = "sign_monitor_engineer")
    private String signMonitorEngineer;

    /**
     * 安全质量环保监察部安全负责人签字id
     */
    @TableField(value = "sign_monitor_principalid")
    private String signMonitorPrincipalid;

    /**
     * 安全质量环保监察部安全负责人签字
     */
    @TableField(value = "sign_monitor_principal")
    private String signMonitorPrincipal;

    /**
     * 安全质量环保监察部安全专工负责人签字时间
     */
    @TableField(value = "sign_time4")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date signTime4;

    /**
     * 是否批准,0-否，1-是
     */
    @TableField(value = "is_approve")
    private String isApprove;

    /**
     * 副总经理（生产）签字id
     */
    @TableField(value = "sign_vice_managerid")
    private String signViceManagerid;

    /**
     * 副总经理（生产）签字
     */
    @TableField(value = "sign_vice_manager")
    private String signViceManager;

    /**
     * 副总经理（生产）-签字日期
     */
    @TableField(value = "sign_time5")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date signTime5;

    /**
     * 当前环节
     */
    @TableField(value = "curr_step")
    private String currStep;

    /**
     * 当前发送人id
     */
    @TableField(value = "curr_senderid")
    private String currSenderid;

    /**
     * 当前发送人
     */
    @TableField(value = "curr_sender")
    private String currSender;

    /**
     * 当前接收人id
     */
    @TableField(value = "curr_receiverid")
    private String currReceiverid;

    /**
     * 当前接收人
     */
    @TableField(value = "curr_receiver")
    private String currReceiver;

    /**
     * 备注
     */
    @TableField(value = "remark")
    private String remark;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
    /**
     * 高空作业审批明细
     */
    private List<WorkApproveHeightDetail> heightDetails;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        WorkApproveSheet other = (WorkApproveSheet) that;
        return (this.getAsId() == null ? other.getAsId() == null : this.getAsId().equals(other.getAsId()))
            && (this.getAsType() == null ? other.getAsType() == null : this.getAsType().equals(other.getAsType()))
            && (this.getAsState() == null ? other.getAsState() == null : this.getAsState().equals(other.getAsState()))
            && (this.getAsCode() == null ? other.getAsCode() == null : this.getAsCode().equals(other.getAsCode()))
            && (this.getAsDeptId() == null ? other.getAsDeptId() == null : this.getAsDeptId().equals(other.getAsDeptId()))
            && (this.getAsDept() == null ? other.getAsDept() == null : this.getAsDept().equals(other.getAsDept()))
            && (this.getAddr() == null ? other.getAddr() == null : this.getAddr().equals(other.getAddr()))
            && (this.getContxt() == null ? other.getContxt() == null : this.getContxt().equals(other.getContxt()))
            && (this.getHeight() == null ? other.getHeight() == null : this.getHeight().equals(other.getHeight()))
            && (this.getStartTime() == null ? other.getStartTime() == null : this.getStartTime().equals(other.getStartTime()))
            && (this.getEndTime() == null ? other.getEndTime() == null : this.getEndTime().equals(other.getEndTime()))
            && (this.getPrincipalid() == null ? other.getPrincipalid() == null : this.getPrincipalid().equals(other.getPrincipalid()))
            && (this.getPrincipal() == null ? other.getPrincipal() == null : this.getPrincipal().equals(other.getPrincipal()))
            && (this.getGuardianid() == null ? other.getGuardianid() == null : this.getGuardianid().equals(other.getGuardianid()))
            && (this.getGuardian() == null ? other.getGuardian() == null : this.getGuardian().equals(other.getGuardian()))
            && (this.getMember() == null ? other.getMember() == null : this.getMember().equals(other.getMember()))
            && (this.getMemberNum() == null ? other.getMemberNum() == null : this.getMemberNum().equals(other.getMemberNum()))
            && (this.getMsBody() == null ? other.getMsBody() == null : this.getMsBody().equals(other.getMsBody()))
            && (this.getMsClothes() == null ? other.getMsClothes() == null : this.getMsClothes().equals(other.getMsClothes()))
            && (this.getMsSafetyHat() == null ? other.getMsSafetyHat() == null : this.getMsSafetyHat().equals(other.getMsSafetyHat()))
            && (this.getMsSafetyBelt() == null ? other.getMsSafetyBelt() == null : this.getMsSafetyBelt().equals(other.getMsSafetyBelt()))
            && (this.getMsWorkBag() == null ? other.getMsWorkBag() == null : this.getMsWorkBag().equals(other.getMsWorkBag()))
            && (this.getMsMsgKit() == null ? other.getMsMsgKit() == null : this.getMsMsgKit().equals(other.getMsMsgKit()))
            && (this.getMsIsolating() == null ? other.getMsIsolating() == null : this.getMsIsolating().equals(other.getMsIsolating()))
            && (this.getMsRopeLadder() == null ? other.getMsRopeLadder() == null : this.getMsRopeLadder().equals(other.getMsRopeLadder()))
            && (this.getMsScaffold() == null ? other.getMsScaffold() == null : this.getMsScaffold().equals(other.getMsScaffold()))
            && (this.getMsQualification() == null ? other.getMsQualification() == null : this.getMsQualification().equals(other.getMsQualification()))
            && (this.getHarm() == null ? other.getHarm() == null : this.getHarm().equals(other.getHarm()))
            && (this.getHarmOthers() == null ? other.getHarmOthers() == null : this.getHarmOthers().equals(other.getHarmOthers()))
            && (this.getMeasure() == null ? other.getMeasure() == null : this.getMeasure().equals(other.getMeasure()))
            && (this.getMeasurea() == null ? other.getMeasurea() == null : this.getMeasurea().equals(other.getMeasurea()))
            && (this.getMeasureOthers() == null ? other.getMeasureOthers() == null : this.getMeasureOthers().equals(other.getMeasureOthers()))
            && (this.getMeasureControl() == null ? other.getMeasureControl() == null : this.getMeasureControl().equals(other.getMeasureControl()))
            && (this.getProtectDetector() == null ? other.getProtectDetector() == null : this.getProtectDetector().equals(other.getProtectDetector()))
            && (this.getProtectDetectorNum() == null ? other.getProtectDetectorNum() == null : this.getProtectDetectorNum().equals(other.getProtectDetectorNum()))
            && (this.getProtectBreathe() == null ? other.getProtectBreathe() == null : this.getProtectBreathe().equals(other.getProtectBreathe()))
            && (this.getProtectBreatheNum() == null ? other.getProtectBreatheNum() == null : this.getProtectBreatheNum().equals(other.getProtectBreatheNum()))
            && (this.getProtectFall() == null ? other.getProtectFall() == null : this.getProtectFall().equals(other.getProtectFall()))
            && (this.getProtectFallNum() == null ? other.getProtectFallNum() == null : this.getProtectFallNum().equals(other.getProtectFallNum()))
            && (this.getProtectTool() == null ? other.getProtectTool() == null : this.getProtectTool().equals(other.getProtectTool()))
            && (this.getProtectToolNum() == null ? other.getProtectToolNum() == null : this.getProtectToolNum().equals(other.getProtectToolNum()))
            && (this.getProtectOthers() == null ? other.getProtectOthers() == null : this.getProtectOthers().equals(other.getProtectOthers()))
            && (this.getMeasureIs() == null ? other.getMeasureIs() == null : this.getMeasureIs().equals(other.getMeasureIs()))
            && (this.getSignPrincipalid() == null ? other.getSignPrincipalid() == null : this.getSignPrincipalid().equals(other.getSignPrincipalid()))
            && (this.getSignPrincipal() == null ? other.getSignPrincipal() == null : this.getSignPrincipal().equals(other.getSignPrincipal()))
            && (this.getSignGuardianid() == null ? other.getSignGuardianid() == null : this.getSignGuardianid().equals(other.getSignGuardianid()))
            && (this.getSignGuardian() == null ? other.getSignGuardian() == null : this.getSignGuardian().equals(other.getSignGuardian()))
            && (this.getSignTime1() == null ? other.getSignTime1() == null : this.getSignTime1().equals(other.getSignTime1()))
            && (this.getSignSafetyEngineerid() == null ? other.getSignSafetyEngineerid() == null : this.getSignSafetyEngineerid().equals(other.getSignSafetyEngineerid()))
            && (this.getSignSafetyEngineer() == null ? other.getSignSafetyEngineer() == null : this.getSignSafetyEngineer().equals(other.getSignSafetyEngineer()))
            && (this.getSignSafetyPrincipalid() == null ? other.getSignSafetyPrincipalid() == null : this.getSignSafetyPrincipalid().equals(other.getSignSafetyPrincipalid()))
            && (this.getSignSafetyPrincipal() == null ? other.getSignSafetyPrincipal() == null : this.getSignSafetyPrincipal().equals(other.getSignSafetyPrincipal()))
            && (this.getSignTime2() == null ? other.getSignTime2() == null : this.getSignTime2().equals(other.getSignTime2()))
            && (this.getSignProceduralEngineerid() == null ? other.getSignProceduralEngineerid() == null : this.getSignProceduralEngineerid().equals(other.getSignProceduralEngineerid()))
            && (this.getSignProceduralEngineer() == null ? other.getSignProceduralEngineer() == null : this.getSignProceduralEngineer().equals(other.getSignProceduralEngineer()))
            && (this.getSignProceduralPrincipalid() == null ? other.getSignProceduralPrincipalid() == null : this.getSignProceduralPrincipalid().equals(other.getSignProceduralPrincipalid()))
            && (this.getSignProceduralPrincipal() == null ? other.getSignProceduralPrincipal() == null : this.getSignProceduralPrincipal().equals(other.getSignProceduralPrincipal()))
            && (this.getSignTime3() == null ? other.getSignTime3() == null : this.getSignTime3().equals(other.getSignTime3()))
            && (this.getSignMonitorEngineerid() == null ? other.getSignMonitorEngineerid() == null : this.getSignMonitorEngineerid().equals(other.getSignMonitorEngineerid()))
            && (this.getSignMonitorEngineer() == null ? other.getSignMonitorEngineer() == null : this.getSignMonitorEngineer().equals(other.getSignMonitorEngineer()))
            && (this.getSignMonitorPrincipalid() == null ? other.getSignMonitorPrincipalid() == null : this.getSignMonitorPrincipalid().equals(other.getSignMonitorPrincipalid()))
            && (this.getSignMonitorPrincipal() == null ? other.getSignMonitorPrincipal() == null : this.getSignMonitorPrincipal().equals(other.getSignMonitorPrincipal()))
            && (this.getSignTime4() == null ? other.getSignTime4() == null : this.getSignTime4().equals(other.getSignTime4()))
            && (this.getIsApprove() == null ? other.getIsApprove() == null : this.getIsApprove().equals(other.getIsApprove()))
            && (this.getSignViceManagerid() == null ? other.getSignViceManagerid() == null : this.getSignViceManagerid().equals(other.getSignViceManagerid()))
            && (this.getSignViceManager() == null ? other.getSignViceManager() == null : this.getSignViceManager().equals(other.getSignViceManager()))
            && (this.getSignTime5() == null ? other.getSignTime5() == null : this.getSignTime5().equals(other.getSignTime5()))
            && (this.getCurrStep() == null ? other.getCurrStep() == null : this.getCurrStep().equals(other.getCurrStep()))
            && (this.getCurrSenderid() == null ? other.getCurrSenderid() == null : this.getCurrSenderid().equals(other.getCurrSenderid()))
            && (this.getCurrSender() == null ? other.getCurrSender() == null : this.getCurrSender().equals(other.getCurrSender()))
            && (this.getCurrReceiverid() == null ? other.getCurrReceiverid() == null : this.getCurrReceiverid().equals(other.getCurrReceiverid()))
            && (this.getCurrReceiver() == null ? other.getCurrReceiver() == null : this.getCurrReceiver().equals(other.getCurrReceiver()))
            && (this.getRemark() == null ? other.getRemark() == null : this.getRemark().equals(other.getRemark()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getAsId() == null) ? 0 : getAsId().hashCode());
        result = prime * result + ((getAsType() == null) ? 0 : getAsType().hashCode());
        result = prime * result + ((getAsState() == null) ? 0 : getAsState().hashCode());
        result = prime * result + ((getAsCode() == null) ? 0 : getAsCode().hashCode());
        result = prime * result + ((getAsDeptId() == null) ? 0 : getAsDeptId().hashCode());
        result = prime * result + ((getAsDept() == null) ? 0 : getAsDept().hashCode());
        result = prime * result + ((getAddr() == null) ? 0 : getAddr().hashCode());
        result = prime * result + ((getContxt() == null) ? 0 : getContxt().hashCode());
        result = prime * result + ((getHeight() == null) ? 0 : getHeight().hashCode());
        result = prime * result + ((getStartTime() == null) ? 0 : getStartTime().hashCode());
        result = prime * result + ((getEndTime() == null) ? 0 : getEndTime().hashCode());
        result = prime * result + ((getPrincipalid() == null) ? 0 : getPrincipalid().hashCode());
        result = prime * result + ((getPrincipal() == null) ? 0 : getPrincipal().hashCode());
        result = prime * result + ((getGuardianid() == null) ? 0 : getGuardianid().hashCode());
        result = prime * result + ((getGuardian() == null) ? 0 : getGuardian().hashCode());
        result = prime * result + ((getMember() == null) ? 0 : getMember().hashCode());
        result = prime * result + ((getMemberNum() == null) ? 0 : getMemberNum().hashCode());
        result = prime * result + ((getMsBody() == null) ? 0 : getMsBody().hashCode());
        result = prime * result + ((getMsClothes() == null) ? 0 : getMsClothes().hashCode());
        result = prime * result + ((getMsSafetyHat() == null) ? 0 : getMsSafetyHat().hashCode());
        result = prime * result + ((getMsSafetyBelt() == null) ? 0 : getMsSafetyBelt().hashCode());
        result = prime * result + ((getMsWorkBag() == null) ? 0 : getMsWorkBag().hashCode());
        result = prime * result + ((getMsMsgKit() == null) ? 0 : getMsMsgKit().hashCode());
        result = prime * result + ((getMsIsolating() == null) ? 0 : getMsIsolating().hashCode());
        result = prime * result + ((getMsRopeLadder() == null) ? 0 : getMsRopeLadder().hashCode());
        result = prime * result + ((getMsScaffold() == null) ? 0 : getMsScaffold().hashCode());
        result = prime * result + ((getMsQualification() == null) ? 0 : getMsQualification().hashCode());
        result = prime * result + ((getHarm() == null) ? 0 : getHarm().hashCode());
        result = prime * result + ((getHarmOthers() == null) ? 0 : getHarmOthers().hashCode());
        result = prime * result + ((getMeasure() == null) ? 0 : getMeasure().hashCode());
        result = prime * result + ((getMeasurea() == null) ? 0 : getMeasurea().hashCode());
        result = prime * result + ((getMeasureOthers() == null) ? 0 : getMeasureOthers().hashCode());
        result = prime * result + ((getMeasureControl() == null) ? 0 : getMeasureControl().hashCode());
        result = prime * result + ((getProtectDetector() == null) ? 0 : getProtectDetector().hashCode());
        result = prime * result + ((getProtectDetectorNum() == null) ? 0 : getProtectDetectorNum().hashCode());
        result = prime * result + ((getProtectBreathe() == null) ? 0 : getProtectBreathe().hashCode());
        result = prime * result + ((getProtectBreatheNum() == null) ? 0 : getProtectBreatheNum().hashCode());
        result = prime * result + ((getProtectFall() == null) ? 0 : getProtectFall().hashCode());
        result = prime * result + ((getProtectFallNum() == null) ? 0 : getProtectFallNum().hashCode());
        result = prime * result + ((getProtectTool() == null) ? 0 : getProtectTool().hashCode());
        result = prime * result + ((getProtectToolNum() == null) ? 0 : getProtectToolNum().hashCode());
        result = prime * result + ((getProtectOthers() == null) ? 0 : getProtectOthers().hashCode());
        result = prime * result + ((getMeasureIs() == null) ? 0 : getMeasureIs().hashCode());
        result = prime * result + ((getSignPrincipalid() == null) ? 0 : getSignPrincipalid().hashCode());
        result = prime * result + ((getSignPrincipal() == null) ? 0 : getSignPrincipal().hashCode());
        result = prime * result + ((getSignGuardianid() == null) ? 0 : getSignGuardianid().hashCode());
        result = prime * result + ((getSignGuardian() == null) ? 0 : getSignGuardian().hashCode());
        result = prime * result + ((getSignTime1() == null) ? 0 : getSignTime1().hashCode());
        result = prime * result + ((getSignSafetyEngineerid() == null) ? 0 : getSignSafetyEngineerid().hashCode());
        result = prime * result + ((getSignSafetyEngineer() == null) ? 0 : getSignSafetyEngineer().hashCode());
        result = prime * result + ((getSignSafetyPrincipalid() == null) ? 0 : getSignSafetyPrincipalid().hashCode());
        result = prime * result + ((getSignSafetyPrincipal() == null) ? 0 : getSignSafetyPrincipal().hashCode());
        result = prime * result + ((getSignTime2() == null) ? 0 : getSignTime2().hashCode());
        result = prime * result + ((getSignProceduralEngineerid() == null) ? 0 : getSignProceduralEngineerid().hashCode());
        result = prime * result + ((getSignProceduralEngineer() == null) ? 0 : getSignProceduralEngineer().hashCode());
        result = prime * result + ((getSignProceduralPrincipalid() == null) ? 0 : getSignProceduralPrincipalid().hashCode());
        result = prime * result + ((getSignProceduralPrincipal() == null) ? 0 : getSignProceduralPrincipal().hashCode());
        result = prime * result + ((getSignTime3() == null) ? 0 : getSignTime3().hashCode());
        result = prime * result + ((getSignMonitorEngineerid() == null) ? 0 : getSignMonitorEngineerid().hashCode());
        result = prime * result + ((getSignMonitorEngineer() == null) ? 0 : getSignMonitorEngineer().hashCode());
        result = prime * result + ((getSignMonitorPrincipalid() == null) ? 0 : getSignMonitorPrincipalid().hashCode());
        result = prime * result + ((getSignMonitorPrincipal() == null) ? 0 : getSignMonitorPrincipal().hashCode());
        result = prime * result + ((getSignTime4() == null) ? 0 : getSignTime4().hashCode());
        result = prime * result + ((getIsApprove() == null) ? 0 : getIsApprove().hashCode());
        result = prime * result + ((getSignViceManagerid() == null) ? 0 : getSignViceManagerid().hashCode());
        result = prime * result + ((getSignViceManager() == null) ? 0 : getSignViceManager().hashCode());
        result = prime * result + ((getSignTime5() == null) ? 0 : getSignTime5().hashCode());
        result = prime * result + ((getCurrStep() == null) ? 0 : getCurrStep().hashCode());
        result = prime * result + ((getCurrSenderid() == null) ? 0 : getCurrSenderid().hashCode());
        result = prime * result + ((getCurrSender() == null) ? 0 : getCurrSender().hashCode());
        result = prime * result + ((getCurrReceiverid() == null) ? 0 : getCurrReceiverid().hashCode());
        result = prime * result + ((getCurrReceiver() == null) ? 0 : getCurrReceiver().hashCode());
        result = prime * result + ((getRemark() == null) ? 0 : getRemark().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", asId=").append(asId);
        sb.append(", asType=").append(asType);
        sb.append(", asState=").append(asState);
        sb.append(", asCode=").append(asCode);
        sb.append(", asDeptId=").append(asDeptId);
        sb.append(", asDept=").append(asDept);
        sb.append(", addr=").append(addr);
        sb.append(", contxt=").append(contxt);
        sb.append(", height=").append(height);
        sb.append(", startTime=").append(startTime);
        sb.append(", endTime=").append(endTime);
        sb.append(", principalid=").append(principalid);
        sb.append(", principal=").append(principal);
        sb.append(", guardianid=").append(guardianid);
        sb.append(", guardian=").append(guardian);
        sb.append(", member=").append(member);
        sb.append(", memberNum=").append(memberNum);
        sb.append(", msBody=").append(msBody);
        sb.append(", msClothes=").append(msClothes);
        sb.append(", msSafetyHat=").append(msSafetyHat);
        sb.append(", msSafetyBelt=").append(msSafetyBelt);
        sb.append(", msWorkBag=").append(msWorkBag);
        sb.append(", msMsgKit=").append(msMsgKit);
        sb.append(", msIsolating=").append(msIsolating);
        sb.append(", msRopeLadder=").append(msRopeLadder);
        sb.append(", msScaffold=").append(msScaffold);
        sb.append(", msQualification=").append(msQualification);
        sb.append(", harm=").append(harm);
        sb.append(", harmOthers=").append(harmOthers);
        sb.append(", measure=").append(measure);
        sb.append(", measurea=").append(measurea);
        sb.append(", measureOthers=").append(measureOthers);
        sb.append(", measureControl=").append(measureControl);
        sb.append(", protectDetector=").append(protectDetector);
        sb.append(", protectDetectorNum=").append(protectDetectorNum);
        sb.append(", protectBreathe=").append(protectBreathe);
        sb.append(", protectBreatheNum=").append(protectBreatheNum);
        sb.append(", protectFall=").append(protectFall);
        sb.append(", protectFallNum=").append(protectFallNum);
        sb.append(", protectTool=").append(protectTool);
        sb.append(", protectToolNum=").append(protectToolNum);
        sb.append(", protectOthers=").append(protectOthers);
        sb.append(", measureIs=").append(measureIs);
        sb.append(", signPrincipalid=").append(signPrincipalid);
        sb.append(", signPrincipal=").append(signPrincipal);
        sb.append(", signGuardianid=").append(signGuardianid);
        sb.append(", signGuardian=").append(signGuardian);
        sb.append(", signTime1=").append(signTime1);
        sb.append(", signSafetyEngineerid=").append(signSafetyEngineerid);
        sb.append(", signSafetyEngineer=").append(signSafetyEngineer);
        sb.append(", signSafetyPrincipalid=").append(signSafetyPrincipalid);
        sb.append(", signSafetyPrincipal=").append(signSafetyPrincipal);
        sb.append(", signTime2=").append(signTime2);
        sb.append(", signProceduralEngineerid=").append(signProceduralEngineerid);
        sb.append(", signProceduralEngineer=").append(signProceduralEngineer);
        sb.append(", signProceduralPrincipalid=").append(signProceduralPrincipalid);
        sb.append(", signProceduralPrincipal=").append(signProceduralPrincipal);
        sb.append(", signTime3=").append(signTime3);
        sb.append(", signMonitorEngineerid=").append(signMonitorEngineerid);
        sb.append(", signMonitorEngineer=").append(signMonitorEngineer);
        sb.append(", signMonitorPrincipalid=").append(signMonitorPrincipalid);
        sb.append(", signMonitorPrincipal=").append(signMonitorPrincipal);
        sb.append(", signTime4=").append(signTime4);
        sb.append(", isApprove=").append(isApprove);
        sb.append(", signViceManagerid=").append(signViceManagerid);
        sb.append(", signViceManager=").append(signViceManager);
        sb.append(", signTime5=").append(signTime5);
        sb.append(", currStep=").append(currStep);
        sb.append(", currSenderid=").append(currSenderid);
        sb.append(", currSender=").append(currSender);
        sb.append(", currReceiverid=").append(currReceiverid);
        sb.append(", currReceiver=").append(currReceiver);
        sb.append(", remark=").append(remark);
        sb.append(", createTime=").append(createTime);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}